Features and capabilities associated with displaying images on a mobile device is evolving. For example, mobile device users download and an increasingly large number of mobile applications (“apps”), and many of these applications can display images. For example, mobile device users can have a weather mobile application to view a graphical forecast, a shopping mobile application to shop for clothes, and a social media mobile application to view or share images with friends and family. Furthermore, mobile device users desire to browse through images on mobile applications quickly and reliably.
Mobile devices (e.g., smartphones) that execute these applications have limited processing power, limited memory, and limited access to network bandwidth. Despite increase in technological sophistication of mobile devices, some mobile applications provide poor image handling capabilities, resulting in a less than satisfactory experience for users. Take, for instance, a user viewing multiple high definition photos in a mobile application. The user can be unsatisfied with the time it takes to load the photos, or the inability to quickly navigate between a current photo and another photo.
Also, mobile device users can experience memory shortages when attempting to view several photos in a mobile application in a short amount of time or switching between different mobile applications that use images. Users must often wait for a mobile application to reacquire a previously viewed image when they are viewing it a second time, even when they have not navigated away from a current page or social media feed that includes images. Additionally, mobile applications or mobile software can crash when executing some memory routines because a mobile device user is overloading the system with requests to view or store images.
Several hardware and software approaches have been used in an attempt to solve the problems described above. Examples include designing mobile devices with
more memory and requiring customers to pay for frequent software updates. These approaches, however, are prone to high cost, underutilization of existing hardware and software, and user dissatisfaction due to the constant requirement to purchase new or updated software. Also, new or updated software both can be costly or can cause users to experience errors with a new system.
The techniques introduced in this disclosure can be better understood by referring to the following Detailed Description in conjunction with the accompanying drawings in which like reference numerals indicate identical or functionally similar elements.